package org.jeecg.modules.app.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * @author 李圳川
 * @version 1.0
 * @date 2022/6/13 22:41
 * @content
 */
@Data
@TableName("shop_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="shop_info对象", description="商家信息")
public class ShopInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    /**背景图片*/
    @Excel(name = "背景图片", width = 15)
    @ApiModelProperty(value = "背景图片")
    private java.lang.String bgImg;
    /**  图标*/
    @Excel(name = "  图标", width = 15)
    @ApiModelProperty(value = "  图标")
    private java.lang.String avatar;
    /**商家分类*/
    @Excel(name = "商家分类", width = 15, dictTable = "shop_catalog", dicText = "name", dicCode = "name")
    @Dict(dictTable = "shop_catalog", dicText = "name", dicCode = "name")
    @ApiModelProperty(value = "商家分类")
    private java.lang.String shopCatalog;
    /**店名*/
    @Excel(name = "店名", width = 15)
    @ApiModelProperty(value = "店名")
    private java.lang.String name;
    /**得分*/
    @Excel(name = "得分", width = 15)
    @ApiModelProperty(value = "得分")
    private java.lang.Double serviceScore;
    /**月售*/
    @Excel(name = "月售", width = 15)
    @ApiModelProperty(value = "月售")
    private java.lang.Integer sellCount;
    /**描述*/
    @Excel(name = "描述", width = 15)
    @ApiModelProperty(value = "描述")
    private java.lang.String description;
    /**派送时间*/
    @Excel(name = "派送时间", width = 20)
    @ApiModelProperty(value = "派送时间")
    private java.lang.String deliveryTime;
    /**距离*/
    @Excel(name = "距离", width = 15)
    @ApiModelProperty(value = "距离")
    private java.lang.String distance;

    /**公告*/
    @Excel(name = "公告", width = 20)
    @ApiModelProperty(value = "公告")
    private java.lang.String bulletin;

    /**标签*/
    @Excel(name = "标签", width = 15)
    @ApiModelProperty(value = "标签")
    private java.lang.String tag;

    /**起送费*/
    @Excel(name = "起送费", width = 15)
    @ApiModelProperty(value = "起送费")
    private java.lang.Double startFee;

    /**配送费*/
    @Excel(name = "配送费", width = 15)
    @ApiModelProperty(value = "配送费")
    private java.lang.Double deliveryFee;

    /**服务态度*/
    @Excel(name = "服务态度", width = 15)
    @ApiModelProperty(value = "服务态度")
    private java.lang.Double serviceAttitude;
    /**商品评分*/
    @Excel(name = "商品评分", width = 15)
    @ApiModelProperty(value = "商品评分")
    private java.lang.Double shopMark;
    /**营业开始时间*/
    @Excel(name = "营业开始时间", width = 15)
    @ApiModelProperty(value = "营业开始时间")
    private java.lang.String startTime;
    /**营业结束时间*/
    /**营业结束时间*/
    @Excel(name = "营业结束时间", width = 15)
    @ApiModelProperty(value = "营业结束时间")
    private java.lang.String endTime;
    /**商家地址*/
    @Excel(name = "商家地址", width = 15)
    @ApiModelProperty(value = "商家地址")
    private java.lang.String address;

    /**商家具体地址*/
    @Excel(name = "商家具体地址", width = 15)
    @ApiModelProperty(value = "商家具体地址")
    private java.lang.String addressDetail;

    /**商家电话*/
    @Excel(name = "商家电话", width = 15)
    @ApiModelProperty(value = "商家电话")
    private java.lang.String tel;
    /**人均费用*/
    @Excel(name = "人均费用", width = 15)
    @ApiModelProperty(value = "人均费用")
    private java.lang.Double perCapita;
    /**营业执照*/
    @Excel(name = "营业执照", width = 15)
    @ApiModelProperty(value = "营业执照")
    private java.lang.String shopLicence;

    /**地址编码*/
    @Excel(name = "地址编码", width = 15)
    @ApiModelProperty(value = "地址编码")
    private java.lang.String addressCodeArray;

    /**店铺店主id*/
    @ApiModelProperty(value = "店铺店主id")
    private java.lang.String shopUserId;

    /**商品评分总人数*/
    @Excel(name = "商品评分总人数", width = 15)
    @ApiModelProperty(value = "商品评分总人数")
    private java.lang.Integer shopMarkNumpeople;
    /**商品评分总分*/
    @Excel(name = "商品评分总分", width = 15)
    @ApiModelProperty(value = "商品评分总分")
    private java.lang.Double shopMarkTotalscore;
    /**服务态度评价总人数*/
    @Excel(name = "服务态度评价总人数", width = 15)
    @ApiModelProperty(value = "服务态度评价总人数")
    private java.lang.Integer serviceAttitudeNumpeople;
    /**服务态度评价总分*/
    @Excel(name = "服务态度评价总分", width = 15)
    @ApiModelProperty(value = "服务态度评价总分")
    private java.lang.Double serviceAttitudeTotalscore;

    @TableField(exist = false)
    private ArrayList<Support> supports = new ArrayList<>();
}

